package com.baidu.mapper;

import com.baidu.entity.DeptBean;
import com.baidu.entity.PowerBean;
import com.baidu.entity.RoleBean;
import com.baidu.entity.UserBean;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 创作时间：2019/12/10 14:45
 * 作者：李增强
 */
public interface UserMapper {
    List<UserBean> getUserList(@Param("uname") String uname, @Param("deptid") Integer deptid,
                               @Param("sbirthday") Date sbirthday, @Param("ebirthday") Date ebirthday,
                               @Param("startRecord") Integer startRecord, @Param("pageSize") Integer pageSize);

    void saveUser(UserBean userBean);

    List<UserBean> getUserByUname(@Param("uname") String uname);

    List<PowerBean> getPowerList();

    List<RoleBean> getRoleList();

    List<DeptBean> getDeptList();

    DeptBean getDeptByDeptid(@Param("deptid") Integer deptid);

    List<PowerBean> getUserPower(@Param("id") Integer id);

    void deleteRolePower(@Param("rid") Integer rid);

    void saveRolePower(@Param("rid") Integer rid, @Param("id") String id);

    List<PowerBean> getRolePower(@Param("rid") Integer rid);

    List<Integer> getRolePowerIds(@Param("rid") Integer rid);

    UserBean getUserById(@Param("id") Integer id);

    void saveUserDept(UserBean ub);

    List<RoleBean> getDeptRoleList(@Param("deptid") Integer deptid);

    List<Integer> getDeptRids(@Param("deptid") Integer deptid);

    void updateDeptRole(@Param("deptid") Integer deptid);

    void saveDeptRole(@Param("rid") Integer rid, @Param("deptid") Integer deptid);

    void deleteUserById(@Param("id") Integer id);

    void updateUser(UserBean ub);

    void saveUserRole(UserBean ub);

    Integer getUserCount(@Param("uname") String uname, @Param("deptid") Integer deptid,
                         @Param("sbirthday") Date sbirthday, @Param("ebirthday") Date ebirthday);
}
